package com.yulian.yulianbackend.once;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import lombok.extern.slf4j.Slf4j;

// 有个很重要的点 XingQiuTableUserInfoListener 不能被spring管理，要每次读取excel都要new,
// 然后里面用到spring可以构造方法传进去
// XingQiuTableUserInfo是和表格有关系的对象
@Slf4j
public class TableListener implements ReadListener<XingQiuTableUserInfo> {
    /**
     * 这个每一条数据解析都会来调用
     *
     * @param data    one row value. Is  same as {@link
     *                AnalysisContext#readRowHolder()}
     * @param context 111
     *
     * 当 EasyExcel 每读一条数据，都会触发一个这个方法
     *  参数二 是当前读到的这条数据，参数二 指的是上下文
     */
    @Override
    public void invoke(XingQiuTableUserInfo data, AnalysisContext context) {
        System.out.println(data);
    }

    /**
     * 所有数据解析完成了 都会来调用
     *
     * @param context 创建一个excel表格，数据包括成员编号、用户昵称，这两个字段与XingQiuTableUserInfo中@ExcelProperty的
     *                value保持一致
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        System.out.println("所有数据解析完成！");
    }
}
